非推奨の API は v2.2 以降削除されました
まとめ
Flutter に準拠して、非推奨ポリシー、 以降にサポートが終了した非推奨の API 2.2 安定版リリースは削除されました。
影響を受けるすべての API はこれにコンパイルされています 移行を支援する主要な情報源。あクイックリファレンスシートも利用可能です。
変更点
このセクションでは、影響を受けるクラスごとに非推奨をリストします。
hasFloatingPlaceholder
のInputDecoration
&InputDecorationTheme
Flutter Fixによるサポート: はい
hasFloatingPlaceholder
v1.13.2 で非推奨になりました。
使用floatingLabelBehavior
その代わり。
どこuseFloatingPlaceholder
true だったので、次のように置き換えますFloatingLabelBehavior.auto
。
どこuseFloatingPlaceholder
は false でした。次のように置き換えますFloatingLabelBehavior.never
。
この変更により、元のバイナリを超えてより多くの動作を指定できるようになります。
選択、追加FloatingLabelBehavior.always
追加オプションとして。
移行ガイド
移行前のコード:
// InputDecoration
// Base constructor
InputDecoration(hasFloatingPlaceholder: true);
InputDecoration(hasFloatingPlaceholder: false);
// collapsed constructor
InputDecoration.collapsed(hasFloatingPlaceholder: true);
InputDecoration.collapsed(hasFloatingPlaceholder: false);
// Field access
inputDecoration.hasFloatingPlaceholder;
// InputDecorationTheme
// Base constructor
InputDecorationTheme(hasFloatingPlaceholder: true);
InputDecorationTheme(hasFloatingPlaceholder: false);
// Field access
inputDecorationTheme.hasFloatingPlaceholder;
// copyWith
inputDecorationTheme.copyWith(hasFloatingPlaceholder: false);
inputDecorationTheme.copyWith(hasFloatingPlaceholder: true);
移行後のコード:
// InputDecoration
// Base constructor
InputDecoration(floatingLabelBehavior: FloatingLabelBehavior.auto);
InputDecoration(floatingLabelBehavior: FloatingLabelBehavior.never);
// collapsed constructor
InputDecoration.collapsed(floatingLabelBehavior: FloatingLabelBehavior.auto);
InputDecoration.collapsed(floatingLabelBehavior: FloatingLabelBehavior.never);
// Field access
inputDecoration.floatingLabelBehavior;
// InputDecorationTheme
// Base constructor
InputDecorationTheme(floatingLabelBehavior: FloatingLabelBehavior.auto);
InputDecorationTheme(floatingLabelBehavior: FloatingLabelBehavior.never);
// Field access
inputDecorationTheme.floatingLabelBehavior;
// copyWith
inputDecorationTheme.copyWith(floatingLabelBehavior: FloatingLabelBehavior.never);
inputDecorationTheme.copyWith(floatingLabelBehavior: FloatingLabelBehavior.auto);
参考文献
API ドキュメント:
InputDecoration
InputDecorationTheme
FloatingLabelBehavior
関連する問題:
- InputDecoration: ラベルを常にフローティングにするオプション
関連する PR:
- で廃止されました#46115
- に削除されました#83923
TextTheme
Flutter Fixによるサポート: はい
いくつかのTextStyle
の性質TextTheme
v1.13.8 で非推奨になりました。彼ら
次の表に、該当する代替物と並べて示します。
新しいAPI。
廃止予定 | 新しいAPI |
---|---|
ディスプレイ4 | 見出し1 |
ディスプレイ3 | 見出し2 |
ディスプレイ2 | 見出し3 |
ディスプレイ1 | 見出し4 |
見出し | 見出し5 |
タイトル | 見出し6 |
小見出し | サブタイトル1 |
本体2 | 本文テキスト1 |
本体1 | 本文テキスト2 |
字幕 | サブタイトル2 |
移行ガイド
移行前のコード:
// TextTheme
// Base constructor
TextTheme(
display4: displayStyle4,
display3: displayStyle3,
display2: displayStyle2,
display1: displayStyle1,
headline: headlineStyle,
title: titleStyle,
subhead: subheadStyle,
body2: body2Style,
body1: body1Style,
caption: captionStyle,
button: buttonStyle,
subtitle: subtitleStyle,
overline: overlineStyle,
);
// copyWith
TextTheme.copyWith(
display4: displayStyle4,
display3: displayStyle3,
display2: displayStyle2,
display1: displayStyle1,
headline: headlineStyle,
title: titleStyle,
subhead: subheadStyle,
body2: body2Style,
body1: body1Style,
caption: captionStyle,
button: buttonStyle,
subtitle: subtitleStyle,
overline: overlineStyle,
);
// Getters
TextStyle style;
style = textTheme.display4;
style = textTheme.display3;
style = textTheme.display2;
style = textTheme.display1;
style = textTheme.headline;
style = textTheme.title;
style = textTheme.subhead;
style = textTheme.body2;
style = textTheme.body1;
style = textTheme.caption;
style = textTheme.button;
style = textTheme.subtitle;
style = textTheme.overline;
移行後のコード:
// TextTheme
// Base constructor
TextTheme(
headline1: displayStyle4,
headline2: displayStyle3,
headline3: displayStyle2,
headline4: displayStyle1,
headline5: headlineStyle,
headline6: titleStyle,
subtitle1: subheadStyle,
bodyText1: body2Style,
bodyText2: body1Style,
caption: captionStyle,
button: buttonStyle,
subtitle2: subtitleStyle,
overline: overlineStyle,
);
TextTheme.copyWith(
headline1: displayStyle4,
headline2: displayStyle3,
headline3: displayStyle2,
headline4: displayStyle1,
headline5: headlineStyle,
headline6: titleStyle,
subtitle1: subheadStyle,
bodyText1: body2Style,
bodyText2: body1Style,
caption: captionStyle,
button: buttonStyle,
subtitle2: subtitleStyle,
overline: overlineStyle,
);
TextStyle style;
style = textTheme.headline1;
style = textTheme.headline2;
style = textTheme.headline3;
style = textTheme.headline4;
style = textTheme.headline5;
style = textTheme.headline6;
style = textTheme.subtitle1;
style = textTheme.bodyText1;
style = textTheme.bodyText2;
style = textTheme.caption;
style = textTheme.button;
style = textTheme.subtitle2;
style = textTheme.overline;
参考文献
設計書:
API ドキュメント:
TextTheme
関連する問題:
- TextTheme を 2018 API に移行する
関連する PR:
- で廃止されました#48547
- に削除されました#83924
Typography
デフォルトFlutter Fix によるサポート: いいえ
デフォルトTypography
v1.13.8 で非推奨になりました。
以前のデフォルトでは、2014 マテリアル デザイン仕様のテキスト スタイルが返されていました。
これにより、次のようになりますTextStyle
2018 マテリアル デザイン仕様を反映しています。
前者の場合は、material2014
コンストラクタ。
移行ガイド
移行前のコード:
// Formerly returned 2014 TextStyle spec
Typography();
移行後のコード:
// Use 2018 TextStyle spec, either by default or explicitly.
Typography();
Typography.material2018();
// Use 2014 spec from former API
Typography.material2014();
参考文献
設計書:
API ドキュメント:
Typography
関連する問題:
- TextTheme を 2018 API に移行する
関連する PR:
- で廃止されました#48547
- に削除されました#83924
タイムライン
安定版リリース: 2.5